/**
 * @file       RightKeyPressEvent.h
 * @brief      The class for process the predefined event while user pressed ESC_KEY
 * @author     Huabo Zheng
 * @date       Jan 13, 2012
 * @Copyright  2012, www.netgear.com Inc. All rights reserved.
 */

#ifndef RIGHTKEYPRESSEVENT_H_
#define RIGHTKEYPRESSEVENT_H_

#include "KeyboardEvent.h"

namespace NS_LCD_AFW
{

/**
 *NS_LCD_AFW::CRightKeyPressEvent
 */

/**
 *@class  CRightKeyPressEvent
 *@brief  The class for process the predefined event while user pressed ESC_KEY
 */
class CRightKeyPressEvent: public NS_LCD_AFW::CKeyboardEvent
{
public:
	/**
	 *@brief Constructor
	 *@attention This objects can only be create in the heap memory and call destroy() for destruction
	 *@see destory()
	 */
	CRightKeyPressEvent();
protected:
	/**
	*@brief DeConstructor
	*@attention This objects can only be create in the heap memory and call destroy() for destruction
	*@see destory()
	*/
	virtual ~CRightKeyPressEvent();
public:

	/**
	 *@brief  Commissioned by the event processing
	 *@details The functino will only be called by framework while user not hook the message chain by rewriting CEventHandler::handlerEvent()
			   and not register callback by call CEventHandler::registerCallBack
	 *@param[in]  pFrameEventHandler A pointer to a CFrame object
	 *@exception none
	 *@retval    int
	 *@return    ERR_SUCCESS if the event has been processed successfully,otherwise failure
	 *@note
	 *@attention
	 *@see int IEventListener::actionPerformed(IEvent *pEvent)
	 *@see void CEventHandler::registerCallBack(int eventId, AFW_EventCallBack pCallBack)
	 *@see int CFrame::onRightKeyPress()
	*/
	virtual int doProcess(CFrame *pFrameEventHandler);

private:
	DISABLE_COPY_CONSTRUCTOR_AND_ASSIGN_REFERENCE(CRightKeyPressEvent);
};

} /* namespace NS_LCD_AFW */
#endif /* RIGHTKEYPRESSEVENT_H_ */
